package pe.gob.osinergmin.dao.impl;

import android.content.Context;

import pe.gob.osinergmin.bean.common.Usuario;
import pe.gob.osinergmin.dao.UsuarioDAO;
import pe.gob.osinergmin.utils.PuntoControlUtils;

public class UsuarioDAOImpl implements UsuarioDAO {

    private static UsuarioDAOImpl instance;

    @Override
    public Usuario findUsuario(Context context) throws Exception{
        String json = PuntoControlUtils.readExternalFile(context, Usuario.class.getSimpleName());
        return (Usuario) PuntoControlUtils.convertFromJsonStringToObject(json);
    }

    @Override
    public void saveUsuarioToLocal(Context context, Usuario usuario) throws Exception {
        String json = usuario.toString();
        PuntoControlUtils.writeExternalFile(context, usuario.getClass().getSimpleName(), json);
    }

    @Override
    public void deleteUsuarioFromLocal(Context context) throws Exception {
        PuntoControlUtils.deleteExternalFile(context, Usuario.class.getSimpleName());
    }

    public static UsuarioDAOImpl getInstance(){
        if(instance == null){
            instance = new UsuarioDAOImpl();
        }
        return instance;
    }
}
